'\" te
.\"  Copyright (c) 1990, 1995 by Mortice Kern Systems Inc.  All Rights Reserved  Portions Copyright (c) 1996, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH ADD_WCH 3XCURSES "Jun 5, 2002"
.SH NAME
add_wch, mvadd_wch, mvwadd_wch, wadd_wch \- add a complex character (with
rendition) to a window
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-I\fR /usr/xpg4/include \fB -L \fR /usr/xpg4/lib \e
\fB -R \fR /usr/xpg4/lib \fB -lcurses \fR [ \fIlibrary\fR... ]

\fBc89\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lcurses\fR [ \fIlibrary\fR ... ]

#include <curses.h>

\fBint\fR \fBadd_wch\fR(\fBconst cchar_t *\fR\fIwch\fR);
.fi

.LP
.nf
\fBint\fR \fBwadd_wch\fR(\fBWINDOW *\fR\fIwin\fR, \fBconst cchar_t *\fR\fIwch\fR);
.fi

.LP
.nf
\fBint\fR \fBmvadd_wch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBconst cchar_t *\fR\fIwch\fR);
.fi

.LP
.nf
\fBint\fR \fBmvwadd_wch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBconst cchar_t *\fR\fIwch\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBadd_wch()\fR function writes a complex character to the \fBstdscr\fR
window at the current cursor position.  The \fBmvadd_wch()\fR and
\fBmvwadd_wch()\fR functions write the character  to the position indicated by
the \fIx\fR (column) and \fIy\fR (row) parameters. The \fBmvadd_wch()\fR
function writes the character to the \fBstdscr\fR window, while
\fBmvwadd_wch()\fR writes the character to the window specified  by \fIwin\fR.
The \fBwadd_wch()\fR function is identical to \fBadd_wch()\fR, but writes the
character to the window specified by \fIwin\fR.  These functions advance the
cursor after writing the character.
.sp
.LP
If \fIwch\fR is a spacing complex character, X/Open Curses replaces any
previous  character at the specified location with \fIwch\fR (and its
rendition). If \fIwch\fR is a non-spacing complex character, X/Open Curses
preserves all existing characters at the specified location and adds the
non-spacing  characters of \fIwch\fR to the spacing complex character. It
ignores the  rendition associated with \fIwch\fR.
.sp
.LP
Characters that do not fit on the end of the current line are wrapped to the
beginning of the next line unless the current line is the last line of the
window and scrolling is disabled. In that situation, X/Open Curses discards
characters which extend beyond the end  of the line.
.sp
.LP
When \fIwch\fR is a backspace, carriage return, newline, or tab, X/Open Curses
moves the cursor appropriately as described in the \fBcurses\fR(3XCURSES) man
page. Each tab character moves the cursor to the next tab stop. By default, tab
stops occur every eight columns. When \fIwch\fR is a control character other
than a backspace, carriage return, newline, or tab, it is written using
\fB^\fR\fIx\fR notation, where \fIx\fR is a printable character. When X/Open
Curses writes \fIwch\fR to the last character position on a line, it
automatically generates a newline. When \fI wch\fR is written to the last
character position of a scrolling region and \fBscrollok()\fR is enabled,
X/Open Curses scrolls the scrolling region up one line (see
\fBclearok\fR(3XCURSES)).
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIwch\fR\fR
.ad
.RS 7n
Is the character/attribute pair (rendition) to be written to the window.
.RE

.sp
.ne 2
.na
\fB\fIwin\fR\fR
.ad
.RS 7n
Is a pointer to the window in which the character is to be written.
.RE

.sp
.ne 2
.na
\fB\fIy\fR\fR
.ad
.RS 7n
Is the y (row) coordinate of the character's position in the window.
.RE

.sp
.ne 2
.na
\fB\fIx\fR\fR
.ad
.RS 7n
Is the x (column) coordinate of the character's position in the window.
.RE

.SH RETURN VALUES
.sp
.LP
On success, these functions return \fBOK\fR. Otherwise, they return \fBERR\fR.
.SH ERRORS
.sp
.LP
None.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Standard
_
MT-Level	Unsafe
.TE

.SH SEE ALSO
.sp
.LP
.BR attr_off (3XCURSES),
.BR bkgrndset (3XCURSES),
.BR curses (3XCURSES),
.BR doupdate (3XCURSES),
.BR in_wch (3XCURSES),
.BR ins_wch (3XCURSES),
.BR libcurses (3XCURSES),
.BR nl (3XCURSES),
.BR printw (3XCURSES),
.BR scrl (3XCURSES),
.BR scrollok (3XCURSES),
.BR setscrreg (3XCURSES),
.BR terminfo (5),
.BR attributes (7),
.BR standards (7)
